A 3G Universal Terrestrial Radio Access Network (UTRAN) comprises several RNCs, each of which is associated with one or more Node Bs, and each Node B being further associated with one or more cells.
The 3G Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes typically use the RNC to distribute (i.e., buffer and schedule), data transmissions to at least one User Equipment (UE). However, for the high speed channels of a 3G cellular system, data is scheduled for transmission by the Node B. One of these high speed channels, for example, is the High Speed Downlink Shared Channel (HS-DSCH). Since data is scheduled by the Node B, it is necessary to buffer data in the Node B for transmission to the UE(s).
There are many scenarios where large amounts of data buffered in the Node B have a negative impact on the overall operation of the system. Several of these scenarios will be described hereinafter.
The first scenario is related to the retransmission mechanisms in 3G systems to achieve high reliability of end-to-end data transmissions. It would be understood by those of skill in the art that the transmission failure between the Node B and the UE could be due to many different reasons. For example, the Node B may have retried the transmission several times without success. Alternatively, the transmission time allotted for a particular transmission may have expired. The present invention which will be described in further detail hereinafter is intended to cover both these situations and any other situations where the failure of a data transmission necessitates a radio link control (RLC) retransmission.
There are many levels of retransmission mechanisms. One mechanism, for example, is the retransmissions of the Hybrid Automatic Repeat Request (H-ARQ) process for High Speed Downlink Packet Access (HSDPA). The H-ARQ process provides a mechanism where transmissions that are received in error are indicated to the transmitter, and the transmitter retransmits the data until the data is received correctly.
In addition to the H-ARQ process, there are entities in the RNC and the UE. The sending RLC entity signals a sequence number (SN) in the header of a particular protocol data unit (PDU) which is used by the receiving RLC entity to ensure that no PDUs are missed in the transmission. If there are PDUs missed during the transmission, as realized by an out-of-sequence delivery of PDUs, the receiving RLC entity sends a status report PDU to inform the sending RLC entity that certain PDUs are missing. The status report PDU describes the status of successful and/or unsuccessful data transmissions. It identifies the SNs of the PDUs that are missed or received. If a PDU is missed, the sending RLC entity will retransmit a duplicate of the missed PDU to the receiving RLC entity.
The impact of retransmissions in system performance will be described with reference to FIG. 1. As shown, when the PDU with SN=3 is not received successfully by the UE, the RLC within the UE requests its peer entity in the RNC for a retransmission. In the interim, the PDUs with SNs=6 and 7 are queued in the buffer of the Node B.
Referring to FIG. 2, since the retransmission process takes a finite amount of time and data is continuing to be transmitted, two more PDUs with SNs=8 and 9 have queued up behind the PDUs with SNs=6 and 7, and in front of the retransmitted PDU with SN=3. The PDU with SN=3 will have to wait until the PDUs with SNs=6-9 have been transmitted to the UE. Additionally, due to the requirement of in-sequence delivery of data to higher layers, the PDUs with SNs=4-9 will not be passed through higher layers until the PDU with SN=3 is received and in-sequence delivery of data can be performed.
The UE will be required to buffer the out-of-sequence data until the missing PDU can be transmitted. This not only results in a delay of the transmission, but requires the UE to have a memory capable of data buffering for continuous data reception until the missed data can be successfully retransmitted. Otherwise, the effective data transmission rate is reduced, thereby affecting quality of service. Since memory is very expensive, this is an undesirable design constraint. Accordingly, this first scenario is when there is a need for RLC retransmission and a large amount of data buffered in the Node B results in a larger data retransmission delay and higher UE memory requirements.
A second scenario when the buffering of data in the Node B negatively affects system performance is in the case that layer 2 (L2) or layer 3 (L3) messages and data transmissions are processed by the same scheduling processes or share a single buffer in the Node B. While data is being buffered and processed and an L2/L3 message comes behind it, the message cannot circumvent the transmission queue. The greater the amount of data within a transmission buffer, (which operates as first-in-first-out (FIFO) buffer), the longer it takes for an L2/L3 message or data to get through the buffer. Any higher priority L2/L3 messages are thus delayed by the data in the buffers.
A third scenario where the buffering of data in the Node B could negatively impact the performance of the system is in the event of a serving HS-DSCH cell change. Since the Node B performs scheduling and buffering of data for an HSDSCH, when the UE performs a serving HS-DSCH cell change from a source Node B to a target Node B, there is a possibility that considerable amounts of data may still be buffered in the source Node B after the handover. This data is not recoverable because there is no mechanism that exists within the UTRAN architecture for data buffered as the source Node B to be transmitted to the target Node B. Upon a serving HS-DSCH cell change, the RNC has no information regarding how much, if any, data is lost since the RNC it does not know what data is buffered in the source Node B. The greater the amount of data that is buffered in the Node B in the event of an HS-DSCH cell change, the greater the amount of data which will ultimately be stranded in the source Node B and will have to be retransmitted.
Accordingly, it would be desirable for the aforementioned reasons to limit the amount of data that is buffered in the Node B.